package com.uzai.console.service.sysmaterial;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.common.enums.MerConfigKeyEnum;
import com.uzai.common.exception.BusinessException;
import com.uzai.common.result.ResponseCode;
import com.uzai.console.dto.sysmaterial.SysMaterialDto;
import com.uzai.console.dto.sysmaterial.SysMaterialIdDto;
import com.uzai.console.dto.sysmaterial.SysMaterialQuery;
import com.uzai.console.dto.sysmaterial.SysMaterialUpdateDto;
import com.uzai.console.entity.MerBaseConfig;
import com.uzai.console.vo.cms.homepage.CmsHomePageUploadQrcodeVo;
import com.uzai.console.vo.sysmaterial.SysMaterialVo;
import com.uzai.console.vo.sysmaterial.UploadFileVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;

/***
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface SysMaterialService {

    /**
     * 分页查询系统素材列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sysMaterialQuery
     * @return null
     */
    Page<SysMaterialVo> findSysMaterialList(SysMaterialQuery sysMaterialQuery);

    /**
     * 查询系统素材详情
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sysMaterialIdDto
     * @return null
     */
    SysMaterialVo findSysMaterialInfo(SysMaterialIdDto sysMaterialIdDto);

    /**
     * 删除系统素材
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sysMaterialIdDto
     * @return null
     */
    void deleteSysMaterial(SysMaterialIdDto sysMaterialIdDto);

    /**
     * 添加系统素材
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sysMaterialDto
     * @return null
     */
    void addSysMaterial(SysMaterialDto sysMaterialDto);

    /**
     * 修改系统素材
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param sysMaterialUpdateDto
     * @return null
     */
    void updateSysMaterial(SysMaterialUpdateDto sysMaterialUpdateDto);

    /**
     * 上传文件
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
    UploadFileVo uploadFile(MultipartFile file, Long merId);

    /**
     * 上传文件流
     * @author liuqi
     * @date 2021/8/13 11:38
     * @return CmsActivityInfoVo
     */
     UploadFileVo upload(Long merId, InputStream inputStream, String fileName);




}
